In computer systems which are required to stably operate at all times such as key systems in data centers and enterprises, reliability is improved by providing redundant servers. Such a computer system can stably provide services using remaining servers even if some of the servers fail, by operating redundant servers in addition to a minimally required number of servers.
Approaches in the background art for providing redundant servers include, for example, duplexing, (N+M) topology, and (N+1) configuration which are described in Patent Document 1 (Japanese Patent Laid-Open No. 2002-55840A). Duplexing refers to an approach to provide a redundant physical server for all servers. The (M+N) topology refers to an approach to provide M redundant physical servers for N servers, where an (N+1) topology particularly refers to the topology when M=1.
In the redundancy accomplishment approach described in Patent Document 1, since physical servers are provided for redundancy, the system cost is increased by such physical servers. Particularly, in a computer system which comprises a plurality of subsystems (application programs (hereinafter simply referred to as “applications”) for providing services, a redundant physical server is required for each subsystem (application), causing an increase in cost for accomplishing redundancy. Accordingly, ideas are needed for reducing the cost, such as sharing a redundant physical serve among a plurality of subsystems (applications).
On the other hand, recent key systems in data centers and enterprises have increasingly employed some implementations for constructing a plurality of virtual servers on a physical server using virtual machine technologies.
For example, Non-Patent Document 1 (B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barpham and R. Neugebauer, Xen and the Art of Virtualization, 19th ACM. Symposium on Operating Systems Principles (SOS P19), 2003) presents technologies for utilizing computer resources (CPU, memory devices and the like) provided by a physical server as a plurality of virtual servers implemented by certain processing programs. Such virtual machine technologies, when utilized, can provide a redundant server for each subsystem (application) by additionally installing virtual servers, without introducing extra physical servers, and can therefore accomplish redundancy for a computer system at a lower cost.
As described above, the redundancy accomplishment approach described in Patent Document 1 requires a physical server for each subsystem (application) for redundancy, so that this approach implies a problem of increased cost for a computer system which comprises a plurality of subsystems (applications) when redundancy is attempted for such a computer system.
On the other hand, the redundancy accomplishment approach which utilizes virtual machine technologies can accomplish redundancy for a computer system at a lower cost. However, if a physical server fails, a plurality of virtual servers can tend to simultaneously fail, thus giving rise to a problem in which this approach fails to provide advantages (recovery, continuous operation and the like of the computer system) that should result from redundancy. For example, assuming that an active virtual server (active server) and a redundant virtual server (redundant server) are assigned to the same subsystem (application) and that they are installed on the same physical server, if the physical server fails, redundancy cannot be relied on to recover or continuously operate the computer system. Stated another way, in virtual machine technologies, an active server and a redundant server assigned to the same subsystem (application) must be installed on different physical servers.
While the virtual machine technologies of Non-Patent Document 1 can determine the number of redundant servers required for a computer system, it does not show how virtual servers are installed in relation to physical servers.